gdk_window_get_toplevel() walks up the windows tree looking for the
corresponding toplevel window, but needs to account for subsurfaces as
well on Wayland.
https://bugzilla.gnome.org/show_bug.cgi?id=775319
{
g_return_val_if_fail (GDK_IS_WINDOW (window), NULL);
- while (window->window_type == GDK_WINDOW_CHILD)
+ while (window->window_type == GDK_WINDOW_CHILD ||
+ window->window_type == GDK_WINDOW_SUBSURFACE)
{
if (gdk_window_is_toplevel (window))
break;